package org.apache.dolphinscheduler.api.dto;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Set;



import com.fasterxml.jackson.annotation.JsonIgnore;



/** 用户实体
*@description
*@author weiliguo
*@date 2019年9月9日下午2:00:37
*
*/


public class UserDto implements Serializable{

	/**
	 *
	 */
	private static final long serialVersionUID = -3947202331153626968L;

	public static final String NEW_LOGIN_USER_ADMIN = "admin";
	public static final int USER_STATUS_WAIT_APPROVE_0 = 0;
	public static final int USER_STATUS_APPROVE_SUCCESS_1 = 1;//审核通过
	public static final int USER_DPL_API_FREE = 1;//免审核
	public static final int USER_DPL_APP_FREE = 1;//免审核
	public static final String USER_API_MANAGER = "api_manager";
	/***
	 * 用户id
	 */

	private String userid;

	/**
	 * 登录名
	 */

	private String loginName;
	/**
	 * 用户名
	 */
	private String username;
	/**
	 * 密码，为避免敏感信息泄露，该字段值不返回。
	 */

	private String pwd;

	/**
	 * 若需要设置或返回密码时，使用该字段值。
	 */

	private String passwd;
	/**
	 *
	 */
	private String memo;
	/**
	 * 添加时间
	 */
	private Date addTime;
	/**
	 * 部门id
	 */
	private String deptId;
	/**
	 * 邮件
	 */
	private String email;
	/**
	 * 电话
	 */
//	@Column(name = "PHONE")
//	private String phone;
	/**
	 * 邮编
	 */
	private String  fcountyCode;
	/**
	 * 性别
	 */
	private String sex;
	/**
	 * 生日
	 */
	private String birth;
	/**
	 * 传真
	 */
	private String fax;
	/**
	 * 家庭地址
	 */
	private String family_address;
	/**
	 * 是否为通讯录里人员
	 *     //"0"不是 "1"是
	 */
	private String isAdd;
	/**
	 *
	 * 是否有指挥调度的权利
	 *    //"0"没有  "1"有
	 */
	private String isComm;
	/**
	 * //用户自定义主题样式
	 */
	private String themeId;
	/**
	 * 公司地址
	 */
	private String company_address;
	/**
	 * 电话
	 */
//	@Column(name = "TELEPHONE")
//	private String telephone;
	/**
	 * 岗位
	 */
	private String duty;
	/**
	 *  //0 有  1无
	 */
	private Long islock;
	/**
	 *
	 */
    private String systemKey;
	/**
	 *
	 */
    private String ca;
	/**
	 *
	 */
    private Long isPortalUser;
	/**
	 * //身份证号
	 */
    private String cerNo;
	/**
	 * //显示顺序*
	 */
    private Long showIndex;
    /**
	 * 审核状态：
		0：待审核
		1：审核通过
		2：驳回
		3：激活
	 */
	private Integer status;

	private Date loginTime;

	private String roleName;


	private Boolean auditorOrNot;
	private Boolean superAdminOrNot;

	private Boolean updatePassWord;


	// 是否被授权资源使用，0否，1是
//	@Transient
//	private int checked;

	//针对云平台新增字段
//	/**
//	 * 业务用户id
//	 * 使用LOGINNAME表示
//	 */
//	@Column(name = "BIZ_USERID")
//    private String biz_userid;
	/**
	 * web用户id
	 */
    private String webUserid;
//	/**
//	 * 密码
//	 * 使用PWD表示
//	 */
//	@Column(name = "PASSWORD")
//    private String password;
	/**
	 * 业务类型
	 */
    private String bizType;

	/**
	 * 绑定IP
	 */
    private String bizIp;

	/**
	 * 有效时间,校验用户是否在有效期
	 */
    private Date validTime;
	/**
	 * 备注
	 */
    private String remark;
//	/**
//	 * 责任人姓名
//	 * 使用USERNAME表示
//	 */
//	@Column(name = "WEB_USERNAME")
//    private String web_username;
	/**
	 * 系统名称
	 */
    private String appName;
	/**
	 * 单位名称
	 */
    private String legalUnits;
	/**
	 * 部门名称
	 */
    private String deptName;
	/**
	 * 电话
	 */
    private String phone;
	/**
	 * 指导老师姓名
	 */
    private String tutorName;
	/**
	 * 指导老师电话
	 */
    private String tutorPhone;
	/**
	 * 申请材料
	 */
    private String applyPaper;
//	/**
//	 * 申请时间
//	 * 使用addTime表示
//	 */
//	@Column(name = "APPLY_TIME")
//    private Date apply_time;
	/**
	 * 最后编辑时间
	 */
    private Date lastEditTime;
	/**
	 * 是否被授权资源使用，0否，1是
	 */
    private Integer checked;

	/**
	 * 管理接口 0未选中 1选中
	 * 判断能否调用外部接口
	 */
    private Integer dplApi;

	/**
	 * 算法和任务管理 0未选中 1选中
	 * 判断能否登陆系统
	 */
    private Integer dplApp;

	/**
	 * 用户帐号审核意见
	 */
    private String reason;

	/**
	 * linux 系统用户id
	 */
    private Long uid;

	public static long getSerialVersionUID() {
		return serialVersionUID;
	}

	public static String getNewLoginUserAdmin() {
		return NEW_LOGIN_USER_ADMIN;
	}

	public static int getUserStatusWaitApprove0() {
		return USER_STATUS_WAIT_APPROVE_0;
	}

	public static int getUserStatusApproveSuccess1() {
		return USER_STATUS_APPROVE_SUCCESS_1;
	}

	public static int getUserDplApiFree() {
		return USER_DPL_API_FREE;
	}

	public static int getUserDplAppFree() {
		return USER_DPL_APP_FREE;
	}

	public static String getUserApiManager() {
		return USER_API_MANAGER;
	}

	public String getUserid() {
		return userid;
	}

	public void setUserid(String userid) {
		this.userid = userid;
	}

	public String getLoginName() {
		return loginName;
	}

	public void setLoginName(String loginName) {
		this.loginName = loginName;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getPwd() {
		return pwd;
	}

	public void setPwd(String pwd) {
		this.pwd = pwd;
	}

	public String getPasswd() {
		return passwd;
	}

	public void setPasswd(String passwd) {
		this.passwd = passwd;
	}

	public String getMemo() {
		return memo;
	}

	public void setMemo(String memo) {
		this.memo = memo;
	}

	public Date getAddTime() {
		return addTime;
	}

	public void setAddTime(Date addTime) {
		this.addTime = addTime;
	}

	public String getDeptId() {
		return deptId;
	}

	public void setDeptId(String deptId) {
		this.deptId = deptId;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getFcountyCode() {
		return fcountyCode;
	}

	public void setFcountyCode(String fcountyCode) {
		this.fcountyCode = fcountyCode;
	}

	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}

	public String getBirth() {
		return birth;
	}

	public void setBirth(String birth) {
		this.birth = birth;
	}

	public String getFax() {
		return fax;
	}

	public void setFax(String fax) {
		this.fax = fax;
	}

	public String getFamily_address() {
		return family_address;
	}

	public void setFamily_address(String family_address) {
		this.family_address = family_address;
	}

	public String getIsAdd() {
		return isAdd;
	}

	public void setIsAdd(String isAdd) {
		this.isAdd = isAdd;
	}

	public String getIsComm() {
		return isComm;
	}

	public void setIsComm(String isComm) {
		this.isComm = isComm;
	}

	public String getThemeId() {
		return themeId;
	}

	public void setThemeId(String themeId) {
		this.themeId = themeId;
	}

	public String getCompany_address() {
		return company_address;
	}

	public void setCompany_address(String company_address) {
		this.company_address = company_address;
	}

	public String getDuty() {
		return duty;
	}

	public void setDuty(String duty) {
		this.duty = duty;
	}

	public Long getIslock() {
		return islock;
	}

	public void setIslock(Long islock) {
		this.islock = islock;
	}

	public String getSystemKey() {
		return systemKey;
	}

	public void setSystemKey(String systemKey) {
		this.systemKey = systemKey;
	}

	public String getCa() {
		return ca;
	}

	public void setCa(String ca) {
		this.ca = ca;
	}

	public Long getIsPortalUser() {
		return isPortalUser;
	}

	public void setIsPortalUser(Long isPortalUser) {
		this.isPortalUser = isPortalUser;
	}

	public String getCerNo() {
		return cerNo;
	}

	public void setCerNo(String cerNo) {
		this.cerNo = cerNo;
	}

	public Long getShowIndex() {
		return showIndex;
	}

	public void setShowIndex(Long showIndex) {
		this.showIndex = showIndex;
	}

	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	public Date getLoginTime() {
		return loginTime;
	}

	public void setLoginTime(Date loginTime) {
		this.loginTime = loginTime;
	}

	public String getRoleName() {
		return roleName;
	}

	public void setRoleName(String roleName) {
		this.roleName = roleName;
	}

	public Boolean getAuditorOrNot() {
		return auditorOrNot;
	}

	public void setAuditorOrNot(Boolean auditorOrNot) {
		this.auditorOrNot = auditorOrNot;
	}

	public Boolean getSuperAdminOrNot() {
		return superAdminOrNot;
	}

	public void setSuperAdminOrNot(Boolean superAdminOrNot) {
		this.superAdminOrNot = superAdminOrNot;
	}

	public Boolean getUpdatePassWord() {
		return updatePassWord;
	}

	public void setUpdatePassWord(Boolean updatePassWord) {
		this.updatePassWord = updatePassWord;
	}

	public String getWebUserid() {
		return webUserid;
	}

	public void setWebUserid(String webUserid) {
		this.webUserid = webUserid;
	}

	public String getBizType() {
		return bizType;
	}

	public void setBizType(String bizType) {
		this.bizType = bizType;
	}

	public String getBizIp() {
		return bizIp;
	}

	public void setBizIp(String bizIp) {
		this.bizIp = bizIp;
	}

	public Date getValidTime() {
		return validTime;
	}

	public void setValidTime(Date validTime) {
		this.validTime = validTime;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public String getAppName() {
		return appName;
	}

	public void setAppName(String appName) {
		this.appName = appName;
	}

	public String getLegalUnits() {
		return legalUnits;
	}

	public void setLegalUnits(String legalUnits) {
		this.legalUnits = legalUnits;
	}

	public String getDeptName() {
		return deptName;
	}

	public void setDeptName(String deptName) {
		this.deptName = deptName;
	}

	public String getPhone() {
		return phone;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}

	public String getTutorName() {
		return tutorName;
	}

	public void setTutorName(String tutorName) {
		this.tutorName = tutorName;
	}

	public String getTutorPhone() {
		return tutorPhone;
	}

	public void setTutorPhone(String tutorPhone) {
		this.tutorPhone = tutorPhone;
	}

	public String getApplyPaper() {
		return applyPaper;
	}

	public void setApplyPaper(String applyPaper) {
		this.applyPaper = applyPaper;
	}

	public Date getLastEditTime() {
		return lastEditTime;
	}

	public void setLastEditTime(Date lastEditTime) {
		this.lastEditTime = lastEditTime;
	}

	public Integer getChecked() {
		return checked;
	}

	public void setChecked(Integer checked) {
		this.checked = checked;
	}

	public Integer getDplApi() {
		return dplApi;
	}

	public void setDplApi(Integer dplApi) {
		this.dplApi = dplApi;
	}

	public Integer getDplApp() {
		return dplApp;
	}

	public void setDplApp(Integer dplApp) {
		this.dplApp = dplApp;
	}

	public String getReason() {
		return reason;
	}

	public void setReason(String reason) {
		this.reason = reason;
	}

	public Long getUid() {
		return uid;
	}

	public void setUid(Long uid) {
		this.uid = uid;
	}
}
